Accelerating Deterministic Replay

نویسندگان

  • Yasser Shalabi
  • Mengjia Yan
  • Tanmay Gangwani
چکیده

Deterministic Record and Replay [5, 6, 4] addresses the nondeterministic nature of memory access interleavings in executions of parallel codes. The loss of determinism introduces complexities to common processes such as program analysis or debug of software. This is because two accesses to one location by two processors when at least one of them is writing is a data race. For example, consider a program which has a bug due to insufficient fencing on a TSO machine. Without a fence, the processor is allowed to relax the W → R ordering when advantageous. A common case is that, if the write results in a cache miss, the processor can issue a read before the write completes, i.e. retire from write buffer. This could be a problem, if for example, the write was to acquire a lock. In that situation reads may be issued that return stale data, causing the program to crash. Subsequent executions of the program may or may not exhibit this behavior because their lock write may hit in the cache, the read may not be reordered with the write, or the read may return consistent values when reordered with the write. Deterministic Replay for TSO machines was developed in a previous work by Gilles et al [5]. If a processor is able to record the global processor memory access ordering then a replay system can instrument the code to enforce those orderings. If the processor can capture the complete set of RAW, WAW, and WAR dependencies then it will capture this ordering. Once the orderings are known, then a Causal Precedence Graph (CPG) can be created. The CPG is a Directed Acyclic Graph where the nodes are chunks of a program execution and an edge (A,B) implies that chunk A must occur before chunk B. For our project we focussed on the work done by Gilles et al, as it reflects the state of the art with regards to RnR on TSO machines.

برای دانلود رایگان متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Lessons Learned During the Development of the CapoOne Deterministic Multiprocessor Replay System

Current schemes for deterministic replay of parallel applications can be of great help for programmers. Software-only replay systems, while great at operating at the abstraction of user applications, incur large CPU overheads. Hardwareonly systems produce minimal, if any, CPU overhead, but because their focus is the low-level hardware primitive that records and replays the memory access interle...

متن کامل

A Survey in Deterministic Replaying Approaches in Multiprocessors

most multithread executions acts nondeterministic while execute on multiprocessor systems. Recording nondeterministic events in such executions can enable deterministic replay. So some researchers are focused on deterministic replay capability in recording important information during executions. In this survey we introduce Hardware-Base, Software-Base and Software-Hardware approaches that have...

متن کامل

LEAP: The Lightweight Deterministic Multi-processor Replay of Concurrent Java Programs

The technique of deterministic record and replay aims at faithfully reenacting an earlier program execution. For concurrent programs, it is one of the most important techniques for program understanding and debugging. The state of the art deterministic replay techniques face challenging efficiency problems in supporting multi-processor executions due to the unoptimized treatment of shared memor...

متن کامل

Availability Guarantee for Deterministic Replay Starting Points in Real-Time Systems

Cyclic debugging requires repeatable executions. As non-deterministic or real-time systems typically do not have the potential to provide this, special methods are required. One such method is replay, a process that requires monitoring of a running system and logging of the data produced by that monitoring. We shall discuss the process of preparing the replay, a part of the process that has not...

متن کامل

OPR: Partial Deterministic Record and Replay for One-Sided Communication

Deterministic replay of parallel execution and communication operations is required both by HPC debuggers and resilience mechanisms. Despite its potential performance advantages, the inherent nondeterminism present in one-sided communication makes replaying difficult. The essential problem is that the readers of updated shared data do not have any information on which remote threads produced th...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 2014